Typically, cloning technology for storage systems works by building a copy of an object that is stored on a persistent storage medium such as a hard disk. The object on-disk could be a file, a volume, or a data object (i.e., a logical data container). If the source object for cloning already resides on persistent storage such as a hard disk and is not undergoing any changes, the cloning can be done by making an image of the object on-disk to another disk or another location on the same disk. One example of this is cloning of a read-only file on-disk. Cloning a data object in memory can also be done in a simpler fashion if the data object is read-only.
Cloning a data object that is actively being modified, however, typically requires the cloning operation to finish before applying any subsequent incoming operation commands to modify the data object. This creates a delay that slows down the storage system. No specific solutions have been found that resolve this problem adequately.